BSL[2]


Backtracking Specification Language


A logic programming language fundamentally different from Prolog. A nondeterministic Algol-like language where variables cannot be assigned more than once except in controlled contexts. Each BSL program corresponds to an assertion in first order logic, and executing the program amounts to proving the assertion. BSL has been used to write an expert system CHORAL for the harmonization of Bach-style chorales.

"Report on the CHORAL Project: An Expert System for Chorale Harmonization", K. Ebcioglu, RC 12628, IBM TJWRC, 1987.